package cn.edu.tcu.controller.admin;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.edu.tcu.bean.AdminBean;
import cn.edu.tcu.dao.admin.DaoFactory;

@WebServlet("/AdminInfoModifyAndDeleteServlet")
public class AdminInfoModifyAndDeleteServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 业务逻辑处理
		// 获取操作类别
		String strOp = request.getParameter("op");
		if (strOp != null && strOp.equals("0")) {
			// 修改操作
			// 获取被修改记录的主键字段
			String strAdminId = request.getParameter("aid");
			// 通过adminId当前id对应的数据记录
			AdminBean adminB = DaoFactory.getAdminDaoInstance().getAdminInfoById(strAdminId);
			// 将查询的结果缓存到session中，传到前台
			request.getSession().setAttribute("modifyAdminB", adminB);
			// 重定向到修改页面
			response.sendRedirect("adminLogined/adminInfoMan/adminInfoAdd.jsp");
		} else if (strOp != null && strOp.equals("1")) {
			// 删除操作
			// 获取被修改记录的主键字段
			String strAdminId = request.getParameter("aid");
			// 调用dao层逻辑删除指定id的数据记录
			DaoFactory.getAdminDaoInstance().deleteAdminInfoById(strAdminId);
			// 重新显示删除只有的数据记录
			// 查询获取要显示的数据集合
			List<AdminBean> lstAdmins = DaoFactory.getAdminDaoInstance().getAllAdminInfo(0);
			// 将查询的结果集缓存到session中，在前端使用el表达式进行解析显示
			request.getSession().setAttribute("lstAdmins", lstAdmins);
			// 跳转数据保存成功页面
			response.sendRedirect("adminLogined/adminInfoMan/adminInfoAddDetail.jsp");
		}
	}

}
